home *** CD-ROM | disk | FTP | other *** search
/ CD ROM Paradise Collection 4 / CD ROM Paradise Collection 4 1995 Nov.iso / arcers / tarsrc.zip / TARSRC.TAR / tar-1.11.2 / pathmax.h < prev    next >
C/C++ Source or Header  |  1993-11-12  |  2KB  |  55 lines

  1. /* Define PATH_MAX somehow.  Requires sys/types.h.
  2.    Copyright (C) 1992 Free Software Foundation, Inc.
  3.  
  4.    This program is free software; you can redistribute it and/or modify
  5.    it under the terms of the GNU General Public License as published by
  6.    the Free Software Foundation; either version 2, or (at your option)
  7.    any later version.
  8.  
  9.    This program is distributed in the hope that it will be useful,
  10.    but WITHOUT ANY WARRANTY; without even the implied warranty of
  11.    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  12.    GNU General Public License for more details.
  13.  
  14.    You should have received a copy of the GNU General Public License
  15.    along with this program; if not, write to the Free Software
  16.    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.  */
  17.  
  18. #ifndef _PATHMAX_H
  19. #define _PATHMAX_H
  20.  
  21. #ifdef HAVE_UNISTD_H
  22. #include <unistd.h>
  23. #endif
  24.  
  25. /* Non-POSIX BSD systems might have gcc's limits.h, which doesn't define
  26.    PATH_MAX but might cause redefinition warnings when sys/param.h is
  27.    later included (as on MORE/BSD 4.3).  */
  28. #if defined(_POSIX_VERSION) || (defined(HAVE_LIMITS_H) && defined(USG))
  29. #include <limits.h>
  30. #endif
  31.  
  32. #ifndef _POSIX_PATH_MAX
  33. #define _POSIX_PATH_MAX 255
  34. #endif
  35.  
  36. #if !defined(PATH_MAX) && defined(_PC_PATH_MAX)
  37. #define PATH_MAX (pathconf ("/", _PC_PATH_MAX) < 1 ? 1024 : pathconf ("/", _PC_PATH_MAX))
  38. #endif
  39.  
  40. /* Don't include sys/param.h if it already has been.  */
  41. #if !defined(PATH_MAX) && !defined(MAXPATHLEN) && !defined(__MSDOS__) && \
  42.     !defined(WINDOWSNT)
  43. #include <sys/param.h>
  44. #endif
  45.  
  46. #if !defined(PATH_MAX) && defined(MAXPATHLEN)
  47. #define PATH_MAX MAXPATHLEN
  48. #endif
  49.  
  50. #ifndef PATH_MAX
  51. #define PATH_MAX _POSIX_PATH_MAX
  52. #endif
  53.  
  54. #endif /* _PATHMAX_H */
  55.